//
//  RequestDownloadTask.h
//  TestDownload
//
//  Created by luffy on 16/3/10.
//  Copyright © 2016年 luffy. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "HttpDownload.h"


#define STATE_STOP 1
#define STATE_RUN 2
#define STATE_PAUSE 3
#define STATE_RUNNING 4

//下载任务载体
@interface RequestDownloadTask : NSObject
@property(nonatomic,copy)NSString *url;//任务下载地址 http://                      !![需要调用者手动设置赋值]!!
@property(nonatomic,copy)NSString *outFilePath; //下载后需要保存的位置              !![需要调用者手动设置赋值]!!
@property(nonatomic,assign)NSInteger state; //任务状态
@property(nonatomic,assign)long long totalSize;//下载文件总大小
@property(nonatomic,assign)long long curSize;//当前下载子节数量
@property(nonatomic,assign)CGFloat progress;//当前进度
@property(nonatomic,weak)id<HttpDownloadDelegate> delegate;//下载事件代理           !![需要调用者手动设置赋值]!!
@property(nonatomic,strong)HttpDownload *download;//下载器
@property(nonatomic,strong)id objTag;//用户自定义附加数据
@property(nonatomic,assign)BOOL use;//HttpDownloadManager需要使用的标示
@property(nonatomic,strong)NSError *error;

//暂停任务
-(void)pause;

//开始任务
-(void)start;

//停止任务
-(void)stop;

//任务是否被暂停
-(BOOL)isPause;

//任务是否已经被开启
-(BOOL)isStart;

//任务是否已经停止
-(BOOL)isStop;
@end
